package com.dt.platform.domain.oa.meta;

import com.github.foxnic.api.bean.BeanProperty;
import com.dt.platform.domain.oa.SealInfo;
import java.util.Date;
import org.github.foxnic.web.domain.hrm.Employee;
import org.github.foxnic.web.domain.system.DictItem;
import org.github.foxnic.web.domain.hrm.Organization;
import javax.persistence.Transient;



/**
 * @author 金杰 , maillank@qq.com
 * @since 2024-10-07 08:36:29
 * @sign A298D19CE6437CB678C4C0703A371178
 * 此文件由工具自动生成，请勿修改。若表结构或配置发生变动，请使用工具重新生成。
*/

public class SealInfoMeta {
	
	/**
	 * 主键 , 类型: java.lang.String
	 */
	public static final String ID="id";
	
	/**
	 * 主键 , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.String> ID_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,ID, java.lang.String.class, "主键", "主键", java.lang.String.class, null);
	
	/**
	 * 名称 , 类型: java.lang.String
	 */
	public static final String NAME="name";
	
	/**
	 * 名称 , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.String> NAME_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,NAME, java.lang.String.class, "名称", "名称", java.lang.String.class, null);
	
	/**
	 * 状态 , 类型: java.lang.String
	 */
	public static final String STATUS="status";
	
	/**
	 * 状态 , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.String> STATUS_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,STATUS, java.lang.String.class, "状态", "状态", java.lang.String.class, null);
	
	/**
	 * 类型 , 类型: java.lang.String
	 */
	public static final String TYPE="type";
	
	/**
	 * 类型 , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.String> TYPE_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,TYPE, java.lang.String.class, "类型", "类型", java.lang.String.class, null);
	
	/**
	 * 所属主体 , 类型: java.lang.String
	 */
	public static final String OWNER_ID="ownerId";
	
	/**
	 * 所属主体 , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.String> OWNER_ID_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,OWNER_ID, java.lang.String.class, "所属主体", "所属主体", java.lang.String.class, null);
	
	/**
	 * 保管部门 , 类型: java.lang.String
	 */
	public static final String MGR_ORG_ID="mgrOrgId";
	
	/**
	 * 保管部门 , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.String> MGR_ORG_ID_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,MGR_ORG_ID, java.lang.String.class, "保管部门", "保管部门", java.lang.String.class, null);
	
	/**
	 * 保管人 , 类型: java.lang.String
	 */
	public static final String MGR_USER_ID="mgrUserId";
	
	/**
	 * 保管人 , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.String> MGR_USER_ID_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,MGR_USER_ID, java.lang.String.class, "保管人", "保管人", java.lang.String.class, null);
	
	/**
	 * 图片 , 类型: java.lang.String
	 */
	public static final String IMAGE_ID="imageId";
	
	/**
	 * 图片 , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.String> IMAGE_ID_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,IMAGE_ID, java.lang.String.class, "图片", "图片", java.lang.String.class, null);
	
	/**
	 * 备注 , 类型: java.lang.String
	 */
	public static final String NOTES="notes";
	
	/**
	 * 备注 , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.String> NOTES_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,NOTES, java.lang.String.class, "备注", "备注", java.lang.String.class, null);
	
	/**
	 * 租户ID , 类型: java.lang.String
	 */
	public static final String TENANT_ID="tenantId";
	
	/**
	 * 租户ID , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.String> TENANT_ID_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,TENANT_ID, java.lang.String.class, "租户ID", "租户ID", java.lang.String.class, null);
	
	/**
	 * 创建人ID , 类型: java.lang.String
	 */
	public static final String CREATE_BY="createBy";
	
	/**
	 * 创建人ID , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.String> CREATE_BY_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,CREATE_BY, java.lang.String.class, "创建人ID", "创建人ID", java.lang.String.class, null);
	
	/**
	 * 创建时间 , 类型: java.util.Date
	 */
	public static final String CREATE_TIME="createTime";
	
	/**
	 * 创建时间 , 类型: java.util.Date
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.util.Date> CREATE_TIME_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,CREATE_TIME, java.util.Date.class, "创建时间", "创建时间", java.util.Date.class, null);
	
	/**
	 * 修改人ID , 类型: java.lang.String
	 */
	public static final String UPDATE_BY="updateBy";
	
	/**
	 * 修改人ID , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.String> UPDATE_BY_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,UPDATE_BY, java.lang.String.class, "修改人ID", "修改人ID", java.lang.String.class, null);
	
	/**
	 * 修改时间 , 类型: java.util.Date
	 */
	public static final String UPDATE_TIME="updateTime";
	
	/**
	 * 修改时间 , 类型: java.util.Date
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.util.Date> UPDATE_TIME_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,UPDATE_TIME, java.util.Date.class, "修改时间", "修改时间", java.util.Date.class, null);
	
	/**
	 * 是否已删除 , 类型: java.lang.Integer
	 */
	public static final String DELETED="deleted";
	
	/**
	 * 是否已删除 , 类型: java.lang.Integer
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.Integer> DELETED_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,DELETED, java.lang.Integer.class, "是否已删除", "是否已删除", java.lang.Integer.class, null);
	
	/**
	 * 删除人ID , 类型: java.lang.String
	 */
	public static final String DELETE_BY="deleteBy";
	
	/**
	 * 删除人ID , 类型: java.lang.String
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.String> DELETE_BY_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,DELETE_BY, java.lang.String.class, "删除人ID", "删除人ID", java.lang.String.class, null);
	
	/**
	 * 删除时间 , 类型: java.util.Date
	 */
	public static final String DELETE_TIME="deleteTime";
	
	/**
	 * 删除时间 , 类型: java.util.Date
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.util.Date> DELETE_TIME_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,DELETE_TIME, java.util.Date.class, "删除时间", "删除时间", java.util.Date.class, null);
	
	/**
	 * 数据版本号 , 类型: java.lang.Integer
	 */
	public static final String VERSION="version";
	
	/**
	 * 数据版本号 , 类型: java.lang.Integer
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,java.lang.Integer> VERSION_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,VERSION, java.lang.Integer.class, "数据版本号", "数据版本号", java.lang.Integer.class, null);
	
	/**
	 * user , 类型: org.github.foxnic.web.domain.hrm.Employee
	 */
	public static final String USER="user";
	
	/**
	 * user , 类型: org.github.foxnic.web.domain.hrm.Employee
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,org.github.foxnic.web.domain.hrm.Employee> USER_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,USER, org.github.foxnic.web.domain.hrm.Employee.class, "user", "user", org.github.foxnic.web.domain.hrm.Employee.class, null);
	
	/**
	 * typeDict , 类型: org.github.foxnic.web.domain.system.DictItem
	 */
	public static final String TYPE_DICT="typeDict";
	
	/**
	 * typeDict , 类型: org.github.foxnic.web.domain.system.DictItem
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,org.github.foxnic.web.domain.system.DictItem> TYPE_DICT_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,TYPE_DICT, org.github.foxnic.web.domain.system.DictItem.class, "typeDict", "typeDict", org.github.foxnic.web.domain.system.DictItem.class, null);
	
	/**
	 * 组织部门 , 类型: org.github.foxnic.web.domain.hrm.Organization
	 */
	public static final String MGR_ORG="mgrOrg";
	
	/**
	 * 组织部门 , 类型: org.github.foxnic.web.domain.hrm.Organization
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,org.github.foxnic.web.domain.hrm.Organization> MGR_ORG_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,MGR_ORG, org.github.foxnic.web.domain.hrm.Organization.class, "组织部门", "组织部门", org.github.foxnic.web.domain.hrm.Organization.class, null);
	
	/**
	 * 主体 , 类型: org.github.foxnic.web.domain.hrm.Organization
	 */
	public static final String OWNER="owner";
	
	/**
	 * 主体 , 类型: org.github.foxnic.web.domain.hrm.Organization
	 */
	public static final BeanProperty<com.dt.platform.domain.oa.SealInfo,org.github.foxnic.web.domain.hrm.Organization> OWNER_PROP = new BeanProperty(com.dt.platform.domain.oa.SealInfo.class ,OWNER, org.github.foxnic.web.domain.hrm.Organization.class, "主体", "主体", org.github.foxnic.web.domain.hrm.Organization.class, null);
	
	/**
	 * 全部属性清单
	 */
	public static final String[] $PROPS={ ID , NAME , STATUS , TYPE , OWNER_ID , MGR_ORG_ID , MGR_USER_ID , IMAGE_ID , NOTES , TENANT_ID , CREATE_BY , CREATE_TIME , UPDATE_BY , UPDATE_TIME , DELETED , DELETE_BY , DELETE_TIME , VERSION , USER , TYPE_DICT , MGR_ORG , OWNER };
	
	/**
	 * 代理类
	 */
	public static class $$proxy$$ extends com.dt.platform.domain.oa.SealInfo {

		private static final long serialVersionUID = 1L;

		
		/**
		 * 设置 主键
		 * @param id 主键
		 * @return 当前对象
		*/
		public SealInfo setId(String id) {
			super.change(ID,super.getId(),id);
			super.setId(id);
			return this;
		}
		
		/**
		 * 设置 名称
		 * @param name 名称
		 * @return 当前对象
		*/
		public SealInfo setName(String name) {
			super.change(NAME,super.getName(),name);
			super.setName(name);
			return this;
		}
		
		/**
		 * 设置 状态
		 * @param status 状态
		 * @return 当前对象
		*/
		public SealInfo setStatus(String status) {
			super.change(STATUS,super.getStatus(),status);
			super.setStatus(status);
			return this;
		}
		
		/**
		 * 设置 类型
		 * @param type 类型
		 * @return 当前对象
		*/
		public SealInfo setType(String type) {
			super.change(TYPE,super.getType(),type);
			super.setType(type);
			return this;
		}
		
		/**
		 * 设置 所属主体
		 * @param ownerId 所属主体
		 * @return 当前对象
		*/
		public SealInfo setOwnerId(String ownerId) {
			super.change(OWNER_ID,super.getOwnerId(),ownerId);
			super.setOwnerId(ownerId);
			return this;
		}
		
		/**
		 * 设置 保管部门
		 * @param mgrOrgId 保管部门
		 * @return 当前对象
		*/
		public SealInfo setMgrOrgId(String mgrOrgId) {
			super.change(MGR_ORG_ID,super.getMgrOrgId(),mgrOrgId);
			super.setMgrOrgId(mgrOrgId);
			return this;
		}
		
		/**
		 * 设置 保管人
		 * @param mgrUserId 保管人
		 * @return 当前对象
		*/
		public SealInfo setMgrUserId(String mgrUserId) {
			super.change(MGR_USER_ID,super.getMgrUserId(),mgrUserId);
			super.setMgrUserId(mgrUserId);
			return this;
		}
		
		/**
		 * 设置 图片
		 * @param imageId 图片
		 * @return 当前对象
		*/
		public SealInfo setImageId(String imageId) {
			super.change(IMAGE_ID,super.getImageId(),imageId);
			super.setImageId(imageId);
			return this;
		}
		
		/**
		 * 设置 备注
		 * @param notes 备注
		 * @return 当前对象
		*/
		public SealInfo setNotes(String notes) {
			super.change(NOTES,super.getNotes(),notes);
			super.setNotes(notes);
			return this;
		}
		
		/**
		 * 设置 租户ID
		 * @param tenantId 租户ID
		 * @return 当前对象
		*/
		public SealInfo setTenantId(String tenantId) {
			super.change(TENANT_ID,super.getTenantId(),tenantId);
			super.setTenantId(tenantId);
			return this;
		}
		
		/**
		 * 设置 创建人ID
		 * @param createBy 创建人ID
		 * @return 当前对象
		*/
		public SealInfo setCreateBy(String createBy) {
			super.change(CREATE_BY,super.getCreateBy(),createBy);
			super.setCreateBy(createBy);
			return this;
		}
		
		/**
		 * 设置 创建时间
		 * @param createTime 创建时间
		 * @return 当前对象
		*/
		public SealInfo setCreateTime(Date createTime) {
			super.change(CREATE_TIME,super.getCreateTime(),createTime);
			super.setCreateTime(createTime);
			return this;
		}
		
		/**
		 * 设置 修改人ID
		 * @param updateBy 修改人ID
		 * @return 当前对象
		*/
		public SealInfo setUpdateBy(String updateBy) {
			super.change(UPDATE_BY,super.getUpdateBy(),updateBy);
			super.setUpdateBy(updateBy);
			return this;
		}
		
		/**
		 * 设置 修改时间
		 * @param updateTime 修改时间
		 * @return 当前对象
		*/
		public SealInfo setUpdateTime(Date updateTime) {
			super.change(UPDATE_TIME,super.getUpdateTime(),updateTime);
			super.setUpdateTime(updateTime);
			return this;
		}
		
		/**
		 * 设置 是否已删除
		 * @param deleted 是否已删除
		 * @return 当前对象
		*/
		public SealInfo setDeleted(Integer deleted) {
			super.change(DELETED,super.getDeleted(),deleted);
			super.setDeleted(deleted);
			return this;
		}
		
		/**
		 * 设置 删除人ID
		 * @param deleteBy 删除人ID
		 * @return 当前对象
		*/
		public SealInfo setDeleteBy(String deleteBy) {
			super.change(DELETE_BY,super.getDeleteBy(),deleteBy);
			super.setDeleteBy(deleteBy);
			return this;
		}
		
		/**
		 * 设置 删除时间
		 * @param deleteTime 删除时间
		 * @return 当前对象
		*/
		public SealInfo setDeleteTime(Date deleteTime) {
			super.change(DELETE_TIME,super.getDeleteTime(),deleteTime);
			super.setDeleteTime(deleteTime);
			return this;
		}
		
		/**
		 * 设置 数据版本号
		 * @param version 数据版本号
		 * @return 当前对象
		*/
		public SealInfo setVersion(Integer version) {
			super.change(VERSION,super.getVersion(),version);
			super.setVersion(version);
			return this;
		}
		
		/**
		 * 设置 user
		 * @param user user
		 * @return 当前对象
		*/
		public SealInfo setUser(Employee user) {
			super.change(USER,super.getUser(),user);
			super.setUser(user);
			return this;
		}
		
		/**
		 * 设置 typeDict
		 * @param typeDict typeDict
		 * @return 当前对象
		*/
		public SealInfo setTypeDict(DictItem typeDict) {
			super.change(TYPE_DICT,super.getTypeDict(),typeDict);
			super.setTypeDict(typeDict);
			return this;
		}
		
		/**
		 * 设置 组织部门
		 * @param mgrOrg 组织部门
		 * @return 当前对象
		*/
		public SealInfo setMgrOrg(Organization mgrOrg) {
			super.change(MGR_ORG,super.getMgrOrg(),mgrOrg);
			super.setMgrOrg(mgrOrg);
			return this;
		}
		
		/**
		 * 设置 主体
		 * @param owner 主体
		 * @return 当前对象
		*/
		public SealInfo setOwner(Organization owner) {
			super.change(OWNER,super.getOwner(),owner);
			super.setOwner(owner);
			return this;
		}

		/**
		 * 克隆当前对象
		*/
		@Transient
		public SealInfo clone() {
			return duplicate(true);
		}

		/**
		 * 复制当前对象
		 * @param all 是否复制全部属性，当 false 时，仅复制来自数据表的属性
		*/
		@Transient
		public SealInfo duplicate(boolean all) {
			$$proxy$$ inst=new $$proxy$$();
			inst.setImageId(this.getImageId());
			inst.setNotes(this.getNotes());
			inst.setUpdateTime(this.getUpdateTime());
			inst.setType(this.getType());
			inst.setOwnerId(this.getOwnerId());
			inst.setMgrUserId(this.getMgrUserId());
			inst.setVersion(this.getVersion());
			inst.setCreateBy(this.getCreateBy());
			inst.setDeleted(this.getDeleted());
			inst.setCreateTime(this.getCreateTime());
			inst.setUpdateBy(this.getUpdateBy());
			inst.setDeleteTime(this.getDeleteTime());
			inst.setName(this.getName());
			inst.setTenantId(this.getTenantId());
			inst.setDeleteBy(this.getDeleteBy());
			inst.setId(this.getId());
			inst.setMgrOrgId(this.getMgrOrgId());
			inst.setStatus(this.getStatus());
			if(all) {
				inst.setOwner(this.getOwner());
				inst.setTypeDict(this.getTypeDict());
				inst.setMgrOrg(this.getMgrOrg());
				inst.setUser(this.getUser());
			}
			inst.clearModifies();
			return inst;
		}

	}
}